package com.ali.gts.servlet.util;

import com.ali.gts.servlet.service.JudgeTrueOrFalse;
import org.apache.commons.beanutils.BeanUtils;

import java.io.IOException;
import java.util.Map;
import java.util.function.Supplier;

public class WebUtil {

    /**
     * 把Map中的值注入到对应的JavaBean属性中
     * @param value
     * @param bean
     */
    public static <T> T copyParamToBean(Map value, T bean){
        System.out.println("注入之前："+bean);
        /**
         * 把所有请求的参数都注入到user对象中
         */
        try {
            BeanUtils.populate(bean,value);
            //System.out.println("注入之后："+bean);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return bean;
    }

    /**
     * 将字符串转换成为 int 类型的数据
     * @param strInt
     * @param defaultValue
     * @return
     */
    public static int parseInt(String strInt,int defaultValue) {
        try {
            return Integer.parseInt(strInt);
        } catch (Exception e) {
            System.out.println(strInt + "is null");
        }
        return defaultValue;
    }



    public static JudgeTrueOrFalse judge(boolean b) {


//        return ((trueRunnale, falseRunnable) -> {
//            if (b){
//                trueRunnale.run();
//            }else {
//                falseRunnable.run();
//            }
//        });


//        return new JudgeTrueOrFalse() {
//            @Override
//            public void trueOrFalse(Runnable trueRunnale, Runnable falseRunnable) {
//                if(b){
//                    trueRunnale.run();
//                }else {
//                  falseRunnable.run();
//                }
//            }
//        };




        JudgeTrueOrFalse judgeTrueOrFalse = (trueRunnable,falseRunnable)->{
            boolean flag = b;

            if(flag){
                trueRunnable.run();
            }else {
                falseRunnable.run();
            }

        };
        return judgeTrueOrFalse;

    };
}
